Cargando...
Saltar al contenido principal

Compilación Condicional

Compilación Condicional: Controlando la Ejecución del Código

La compilación condicional te permite controlar la inclusión o exclusión de bloques de código basados en condiciones específicas antes de que se ejecute el script.

Esto es útil para situaciones como:

  • Código específico de la plataforma
  • Depuración
  • Configuraciones dependientes del entorno

Te permite optimizar dinámicamente tu proyecto dependiendo de las necesidades del entorno de ejecución.

¿Cómo Funciona la Compilación Condicional?

Mediante el uso de directivas de preprocesador, puedes incluir o excluir condicionalmente partes de tu código basándote en condiciones evaluadas durante el tiempo de compilación.

Directivas Disponibles para la Compilación Condicional

DirectivaDescripción
#defineDefine un macro o flag para ser usado en condiciones.
#ifdefVerifica si un macro o flag ha sido definido.
#ifndefVerifica si un macro o flag no ha sido definido.
#endifFinaliza un bloque condicional.
#elifSe usa para una condición "else if" en una cadena de comprobaciones.
#elseEspecifica un bloque de código alternativo cuando la condición es falsa.

Estas directivas te permiten gestionar el flujo del código basándote en flags o condiciones predefinidas, adaptando tu script según el entorno o las configuraciones de compilación.

Ejemplo de Uso: Modo Desarrollo vs. Modo Producción

Puedes definir un flag en la parte superior de tu script y luego ejecutar condicionalmente diferentes bloques de código dependiendo de si el flag está definido.

#define DEVELOPMENT

#ifdef DEVELOPMENT
// Este bloque se incluye si DEVELOPMENT está definido
console.log("Modo desarrollo habilitado.");
#else
console.log("Modo producción habilitado.");
// Código específico para producción aquí
#endif

Constantes Predefinidas

Además de definir tus propios flags con #define, el entorno de ejecución de scripts proporciona algunas constantes predefinidas que permiten detectar automáticamente la plataforma o el entorno de ejecución durante el tiempo de compilación.

Estas constantes te ayudan a dirigir fácilmente tu código a plataformas específicas o entornos (como móvil, escritorio o el editor), sin necesidad de definir las condiciones manualmente.

Constantes Predefinidas Disponibles

ConstanteDescripción
PLATFORM_ANDROIDSe define automáticamente si el código se ejecuta en un dispositivo Android.
PLATFORM_IOSSe define automáticamente si el código se ejecuta en un dispositivo iOS.
PLATFORM_MACOSSe define automáticamente si el código se ejecuta en un dispositivo macOS.
PLATFORM_WINDOWSSe define automáticamente si el código se ejecuta en un dispositivo Windows.
PLATFORM_LINUXSe define automáticamente si el código se ejecuta en un dispositivo Linux.
IS_MOBILESe define si la plataforma es un dispositivo móvil (es decir, Android o iOS).
EDITORSe define cuando el código se ejecuta dentro del Editor de XR Creator, útil para desarrollo o pruebas.
DEBUGSe define cuando el script se ejecuta en modo depuración, ideal para habilitar código específico de depuración, como registros y manejo de errores.

Estas constantes predefinidas se establecen automáticamente en tiempo de ejecución y proporcionan información útil sobre el entorno en el que se está ejecutando el código. Al usar estas constantes, puedes escribir código específico para cada plataforma, asegurando que solo se incluya cuando se ejecute en el entorno adecuado.